package com.frame.common.tools.result;

/**
 * Created in com.sdebank.arcsync.constants.
 * description
 *
 * @author xieran
 * @date 2019/09/17 16:53
 */
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS("200", "SUCCESS"),
    /**
     * 系统错误
     */
    ERROR("0", "ERROR"),
    /**
     * 服务降级
     */
    SERVICE_FALL_BACK("400", "服务降级"),
    /**
     * 无效token
     */
    INVALID_TOKEN("401", "无效的token"),
    /**
     * 认证失败
     */
    CANNOT_ACCESS("402", "认证失败,不能访问"),
    /**
     * 拒绝访问
     */
    ACCESS_DENIED("403", "拒绝访问"),
    /**
     * 验证失败
     */
    VALIDATION_FAILED("404", "验证失败"),
    /**
     * 无效的授权
     */
    INVALID_GRANT("405", "无效的授权"),
    /**
     * 不支持的授权类型
     */
    UNSUPPORTED_GRANT_TYPE("406", "不支持的授权类型"),
    /**
     * 无效的请求
     */
    INVALID_REQUEST("407", "无效的请求"),
    /**
     * 无效的范围
     */
    INVALID_SCOPE("408", "无效的范围"),
    /**
     * 请求MediaType不支持
     */
    HTTP_MEDIA_TYPE_NOT_SUPPORTED("409", "请求MediaType不支持"),
    /**
     * 请求MediaType不支持
     */
    USERNAME_OR_PASSWORD_ERROR("410", "用户名或密码错误"),
    /**
     * 请求MediaType不支持
     */
    CLIENT_AUTHENTICATION_FAILED("411", "客户端认证失败"),
    /**
     * 请求MediaType不支持
     */
    RESPONSE_STATUS_ERROR("412", ""),
    /**
     * 限制访问
     */
    LIMIT_ACCESS("413", "服务开启限流保护,请稍后再试!"),
    /**
     * 自定义sentinel异常返回信息
     */
    SENTINEL_ERROR("414", "sentinel异常"),
    /**
     * 自定义sentinel异常返回信息
     */
    INSUFFICIENT_AUTHENTICATION_ERROR("415", "身份验证异常不足"),
    /**
     * 退出成功
     */
    LOGOUT_SUCCESS("901", "退出成功");
    /**
     * 错误编码
     */
    private String code;
    /**
     * 错误编码描述
     */
    private String content;


    ResultCode(String code, String content) {
        this.code = code;
        this.content = content;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}
